package com.example.blades.myspinner;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

public class SpinnerActivity extends AppCompatActivity {

    private static final String[] countriesStr={"广州","从化","武汉","汕头"};
    private TextView myTextView;
    private Spinner mySpinner;
    private ArrayAdapter adapter;
    private Animation myAnimation;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_spinner);

        myTextView=(TextView) findViewById(R.id.myTextView);
        mySpinner=(Spinner) findViewById(R.id.mySpinner);
        adapter=new ArrayAdapter(this,android.R.layout.simple_spinner_item,countriesStr);
        /*mySpinner_dropdown为自定义下拉菜单样式   定义在res/layout目录下*/
        adapter.setDropDownViewResource(R.layout.myspinner);
        /*将ArrayAdapter加入Spinner对象中*/
        mySpinner.setAdapter(adapter);

        /*将mySpinner加入OnItemSelectedListener*/
        mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
        {
            @Override
            public void onItemSelected(AdapterView parent, View view, int position, long id)
            {
                /*将所选mySpinner的值带入myTextView中*/
                myTextView.setText("选择的是："+countriesStr[position]);
                /*将mySpinner显示*/
                parent.setVisibility(View.VISIBLE);
            }

            @Override
            public void onNothingSelected(AdapterView parent)
            {
                //
            }
        });

        /*取得Animation   定义在res/anim目录下*/
        myAnimation= AnimationUtils.loadAnimation(this,R.anim.my_anim);
        /*将mySpinner加入OnTouchListener*/
        mySpinner.setOnTouchListener(new Spinner.OnTouchListener()
        {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                /*将mySpinner执行Animation*/
                v.startAnimation(myAnimation);
                /*将mySpinner隐藏*/
                v.setVisibility(View.INVISIBLE);
                return false;
            }
        });

        mySpinner.setOnFocusChangeListener(new Spinner.OnFocusChangeListener()
        {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                //
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //Inflate the menu
        //this adds items to the action bar if it's present.
        getMenuInflater().inflate(R.menu.spinner_demo,menu);
        return true;
    }
}
